perm filename SRCCOM[3,2]7 blob sn#303163 filedate 1977-09-03 generic text, type C, neo UTF8
COMMENT āŠ—   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	SRCCOM will compare or merge your source files.
C00007 ENDMK
CāŠ—;
SRCCOM will compare or merge your source files.

Command format: <ofspec><switches>ā†<ifs1>,<ifs2>

The <ofspec> may be omitted in which case <ifn1> with the extension
.LST will be used. Note where the <switches> go!

<switches> is of the form /<switch>{/<switch>} where <switch> may
be:

<digit> Sets the number of consequative lines which must be identical
	before a match is considered seen.  Default is 3.
   B	Consider <cr>,<lf>,<ff> and SOS line numbers and page marks as
	text.  This allows differences in pagination to be detected.
   C	Ignore everything between ; and line breaks, i.e. comments.
   D	Ignore ETV directories.
   E  *	Print the lines which matched after a run of differences.
   F	Insert a [FF] before the first output page is printed.
   I	Do a merge assuming I as the merge command.
   L	Print the last label found in the header lines for differences.
   M	Do a merge.  See below for special considerations.
   S	Ignore spaces and tabs.
   W  *	Prefix each output line by the file number from which it came.
   X    Use the <ofspec> as a command file from which to take commands.
	The commands are printed out as they are executed.
   Y	same as /X but don't type out the commands as they are executed.
   Z	Type out some statistics after the comparison is performed.

* means you must type the switch if you DON'T want the feature.

In merge mode (/M or /I), the <ofspec> receives all lines which are
identical in both files; when a difference occurs, merge command mode
is entered, signified by a > typed in column 9, and you have several
options as to what to do with the text. If you type ? at that point
you will see an explanation of the various possibilities.
Note that if you specify /M or /I, you automatically get /B and /E.

The previous version of SRCCOM is still available as SRCCOM.OLD.

NOTE -- SRCCOM is a crufty program in some respects,
and will sometimes do what seems absurd.  For example, if
a few lines are moved from one place to another in a file, the 
reasonable thing (within the basic constraints of the output that
SRCCOM is capable) is to indicate those lines as deleted in one
version and inserted in the other, but sometimes SRCCOM does it
backwards and prints the entire rest of the file as deleted and
inserted with only the few lines in  common.  Also, if a page is
inserted, and every page has a few lines in common, instead of
noticing the inserted page, it syncs off-one-page and tells all
the differences between page n in one file and page n (from page
n-1 before insert) in other file.
	For a partial solution to these problems,
if you just want to know how many lines were changed and want
information about rearranging lines partly suppressed, REM has
a program called SRCCHK that computes linear-congruential
checksums of all lines in the two files, and collates the
two lists with an infinite window (one list is in-core).
	If you can afford the compute time, an alternative is
to SSORT the two files separately, then use SRCCOM on the
result, but that loses ALL sequence information.